home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
lisp
/
kcl
/
akcl
/
kcl.lha
/
lsp
/
trace.c
< prev
next >
Wrap
C/C++ Source or Header
|
1987-06-04
|
20KB
|
959 lines
/* (C) Copyright Taiichi Yuasa and Masami Hagiya, 1984. All rights reserved. */
#include <cmpinclude.h>
#include "trace.h"
init_trace(start,size,data)char *start;int size;object data;
{ register object *base=vs_top;register object *sup=base+VM2;vs_top=sup;vs_check;
Cstart=start;Csize=size;Cdata=data;set_VV(VV,VM1,data);
base[0]= VV[0];
(void)simple_symlispcall_no_event(VV[78],base+0,1);
VV[2]->s.s_stype=(short)stp_special;
if(VV[2]->s.s_dbind == OBJNULL){
VV[2]->s.s_dbind = VV[1];}
VV[3]->s.s_stype=(short)stp_special;
if(VV[3]->s.s_dbind == OBJNULL){
VV[3]->s.s_dbind = Cnil;}
MM(VV[79],L2,start,size,data);
MM(VV[80],L3,start,size,data);
MF(VV[81],L4,start,size,data);
MF(VV[14],L5,start,size,data);
MF(VV[82],L6,start,size,data);
VV[25]->s.s_stype=(short)stp_special;
if(VV[25]->s.s_dbind == OBJNULL){
VV[25]->s.s_dbind = VV[1];}
VV[26]->s.s_stype=(short)stp_special;
if(VV[26]->s.s_dbind == OBJNULL){
VV[26]->s.s_dbind = Cnil;}
VV[27]->s.s_stype=(short)stp_special;
if(VV[27]->s.s_dbind == OBJNULL){
VV[27]->s.s_dbind = Cnil;}
VV[28]->s.s_stype=(short)stp_special;
if(VV[28]->s.s_dbind == OBJNULL){
VV[28]->s.s_dbind = Cnil;}
VV[29]->s.s_stype=(short)stp_special;
if(VV[29]->s.s_dbind == OBJNULL){
VV[29]->s.s_dbind = Cnil;}
MF(VV[83],L7,start,size,data);
MM(VV[84],L8,start,size,data);
MM(VV[85],L9,start,size,data);
MF(VV[44],L10,start,size,data);
vs_top=vs_base=base;
}
/* macro definition for TRACE */
static L2()
{ register object *base=vs_base;
register object *sup=base+VM3;
vs_reserve(VM3);
check_arg(2);
vs_top=sup;
{object V1=base[0]->c.c_cdr;
base[2]= V1;}
if((base[2])!=Cnil){
goto T11;}
base[3]= VV[3];
vs_top=(vs_base=base+3)+1;
return;
T11:;
base[3]= list(2,VV[6],base[2]);
base[4]= list(3,VV[4],VV[5],base[3]);
vs_top=(vs_base=base+4)+1;
return;
}
/* macro definition for UNTRACE */
static L3()
{ register object *base=vs_base;
register object *sup=base+VM4;
vs_reserve(VM4);
check_arg(2);
vs_top=sup;
{object V2=base[0]->c.c_cdr;
base[2]= V2;}
if((base[2])!=Cnil){
goto T14;}
base[3]= VV[7];
vs_top=(vs_base=base+3)+1;
return;
T14:;
base[3]= list(2,VV[6],base[2]);
base[4]= list(3,VV[4],VV[8],base[3]);
vs_top=(vs_base=base+4)+1;
return;
}
/* function definition for TRACE-ONE */
static L4()
{ register object *base=vs_base;
register object *sup=base+VM5;
vs_reserve(VM5);
check_arg(1);
vs_top=sup;
TTL:;
base[1]= Cnil;
base[2]= base[0];
vs_top=(vs_base=base+2)+1;
Lfboundp();
vs_top=sup;
if((vs_base[0])!=Cnil){
goto T16;}
base[2]= symbol_value(VV[9]);
base[3]= VV[10];
base[4]= base[0];
vs_top=(vs_base=base+2)+3;
Lformat();
vs_top=sup;
base[2]= Cnil;
vs_top=(vs_base=base+2)+1;
return;
T16:;
base[2]= base[0];
vs_top=(vs_base=base+2)+1;
Lspecial_form_p();
vs_top=sup;
if((vs_base[0])==Cnil){
goto T24;}
base[2]= symbol_value(VV[9]);
base[3]= VV[11];
base[4]= base[0];
vs_top=(vs_base=base+2)+3;
Lformat();
vs_top=sup;
base[2]= Cnil;
vs_top=(vs_base=base+2)+1;
return;
T24:;
base[2]= base[0];
vs_top=(vs_base=base+2)+1;
Lmacro_function();
vs_top=sup;
if((vs_base[0])==Cnil){
goto T32;}
base[2]= symbol_value(VV[9]);
base[3]= VV[12];
base[4]= base[0];
vs_top=(vs_base=base+2)+3;
Lformat();
vs_top=sup;
base[2]= Cnil;
vs_top=(vs_base=base+2)+1;
return;
T32:;
if((get(base[0],VV[13],Cnil))==Cnil){
goto T40;}
base[3]= base[0];
vs_top=(vs_base=base+3)+1;
Lsymbol_function();
vs_top=sup;
base[2]= vs_base[0];
if(!(type_of(base[2])==t_cons)){
goto T44;}
base[3]= base[0];
vs_top=(vs_base=base+3)+1;
Lsymbol_function();
vs_top=sup;
base[2]= vs_base[0];
if(!(type_of(cadddr(base[2]))==t_cons)){
goto T44;}
base[3]= base[0];
vs_top=(vs_base=base+3)+1;
Lsymbol_function();
vs_top=sup;
base[2]= vs_base[0];
if(!(car(cadddr(base[2]))==VV[14])){
goto T44;}
base[2]= symbol_value(VV[9]);
base[3]= VV[15];
base[4]= base[0];
vs_top=(vs_base=base+2)+3;
Lformat();
vs_top=sup;
base[2]= Cnil;
vs_top=(vs_base=base+2)+1;
return;
T44:;
base[2]= base[0];
vs_top=(vs_base=base+2)+1;
L6();
vs_top=sup;
T40:;
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[1]= vs_base[0];
base[2]= base[1];
base[4]= base[0];
vs_top=(vs_base=base+4)+1;
Lsymbol_function();
vs_top=sup;
base[3]= vs_base[0];
vs_top=(vs_base=base+2)+2;
siLfset();
vs_top=sup;
(void)(putprop(base[0],base[1],VV[13]));
base[3]= list(2,VV[6],base[0]);
base[4]= list(2,VV[6],base[1]);
base[5]= list(4,VV[14],base[3],base[4],VV[18]);
base[2]= list(4,VV[16],base[0],VV[17],base[5]);
vs_top=(vs_base=base+2)+1;
Leval();
vs_top=sup;
setq(VV[3],make_cons(base[0],symbol_value(VV[3])));
base[2]= make_cons(base[0],Cnil);
vs_top=(vs_base=base+2)+1;
return;
}
/* function definition for TRACE-CALL */
static L5()
{ register object *base=vs_base;
register object *sup=base+VM6;
vs_reserve(VM6);
bds_check;
check_arg(3);
vs_top=sup;
TTL:;
bds_bind(VV[2],symbol_value(VV[2]));
base[4]= Cnil;
base[5]= Cnil;
(VV[2]->s.s_dbind)= one_plus((VV[2]->s.s_dbind));
base[6]= number_times((VV[2]->s.s_dbind),VV[19]);
base[5]= (number_compare(base[6],VV[20])<=0?base[6]:VV[20]);
base[6]= symbol_value(VV[9]);
vs_top=(vs_base=base+6)+1;
Lfresh_line();
vs_top=sup;
base[6]= symbol_value(VV[9]);
base[7]= VV[21];
base[8]= base[5];
base[9]= (VV[2]->s.s_dbind);
base[10]= make_cons(base[0],base[2]);
vs_top=(vs_base=base+6)+5;
Lformat();
vs_top=sup;
base[6]= base[1];
{object V3;
V3= base[2];
vs_top=base+7;
while(!endp(V3))
{vs_push(car(V3));V3=cdr(V3);}
vs_base=base+7;}
super_funcall_no_event(base[6]);
Llist();
vs_top=sup;
base[4]= vs_base[0];
base[6]= symbol_value(VV[9]);
vs_top=(vs_base=base+6)+1;
Lfresh_line();
vs_top=sup;
base[6]= symbol_value(VV[9]);
base[7]= VV[22];
base[8]= base[5];
base[9]= (VV[2]->s.s_dbind);
base[10]= make_cons(base[0],base[4]);
vs_top=(vs_base=base+6)+5;
Lformat();
vs_top=sup;
(VV[2]->s.s_dbind)= one_minus((VV[2]->s.s_dbind));
base[6]= base[4];
vs_top=(vs_base=base+6)+1;
Lvalues_list();
bds_unwind1;
return;
}
/* function definition for UNTRACE-ONE */
static L6()
{ register object *base=vs_base;
register object *sup=base+VM7;
vs_reserve(VM7);
check_arg(1);
vs_top=sup;
TTL:;
if((get(base[0],VV[13],Cnil))==Cnil){
goto T100;}
base[2]= base[0];
vs_top=(vs_base=base+2)+1;
Lsymbol_function();
vs_top=sup;
base[1]= vs_base[0];
if(!(type_of(base[1])==t_cons)){
goto T104;}
base[2]= base[0];
vs_top=(vs_base=base+2)+1;
Lsymbol_function();
vs_top=sup;
base[1]= vs_base[0];
if(!(type_of(cadddr(base[1]))==t_cons)){
goto T104;}
base[2]= base[0];
vs_top=(vs_base=base+2)+1;
Lsymbol_function();
vs_top=sup;
base[1]= vs_base[0];
if(!(car(cadddr(base[1]))==VV[14])){
goto T104;}
base[1]= base[0];
base[3]= get(base[0],VV[13],Cnil);
vs_top=(vs_base=base+3)+1;
Lsymbol_function();
vs_top=sup;
base[2]= vs_base[0];
vs_top=(vs_base=base+1)+2;
siLfset();
vs_top=sup;
goto T102;
T104:;
base[1]= symbol_value(VV[9]);
base[2]= VV[23];
base[3]= base[0];
vs_top=(vs_base=base+1)+3;
Lformat();
vs_top=sup;
T102:;
(void)(remprop(base[0],VV[13]));
base[1]= base[0];
base[2]= symbol_value(VV[3]);
setq(VV[3],simple_symlispcall_no_event(VV[86],base+1,2));
base[1]= make_cons(base[0],Cnil);
vs_top=(vs_base=base+1)+1;
return;
T100:;
base[1]= symbol_value(VV[9]);
base[2]= VV[24];
base[3]= base[0];
vs_top=(vs_base=base+1)+3;
Lformat();
vs_top=sup;
base[1]= Cnil;
vs_top=(vs_base=base+1)+1;
return;
}
/* function definition for STEP-READ-LINE */
static L7()
{ register object *base=vs_base;
register object *sup=base+VM8;
vs_reserve(VM8);
check_arg(0);
vs_top=sup;
TTL:;
base[1]= symbol_value(VV[30]);
vs_top=(vs_base=base+1)+1;
Lread_char();
vs_top=sup;
base[0]= vs_base[0];
T134:;
base[1]= base[0];
base[2]= VV[31];
vs_top=(vs_base=base+1)+2;
Lchar_eq();
vs_top=sup;
if((vs_base[0])!=Cnil){
goto T136;}
base[1]= base[0];
base[2]= VV[32];
vs_top=(vs_base=base+1)+2;
Lchar_eq();
vs_top=sup;
if((vs_base[0])==Cnil){
goto T135;}
T136:;
base[1]= Cnil;
vs_top=(vs_base=base+1)+1;
return;
T135:;
base[1]= symbol_value(VV[30]);
vs_top=(vs_base=base+1)+1;
Lread_char();
vs_top=sup;
base[0]= vs_base[0];
goto T134;
}
/* macro definition for IF-ERROR */
static L8()
{ register object *base=vs_base;
register object *sup=base+VM9;
vs_reserve(VM9);
check_arg(2);
vs_top=sup;
{object V4=base[0]->c.c_cdr;
if(endp(V4))invalid_macro_call();
base[2]= (V4->c.c_car);
V4=V4->c.c_cdr;
if(endp(V4))invalid_macro_call();
base[3]= (V4->c.c_car);
V4=V4->c.c_cdr;
if(!endp(V4))invalid_macro_call();}
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[4]= vs_base[0];
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[5]= vs_base[0];
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[6]= vs_base[0];
base[7]= list(2,base[4],base[5]);
base[8]= list(5,VV[36],base[4],base[3],base[5],Ct);
base[9]= list(4,VV[38],base[5],base[4],base[2]);
base[10]= list(3,VV[37],base[6],base[9]);
base[11]= list(3,VV[35],base[8],base[10]);
base[12]= list(3,VV[34],base[6],base[11]);
base[13]= list(3,VV[33],base[7],base[12]);
vs_top=(vs_base=base+13)+1;
return;
}
/* macro definition for STEP */
static L9()
{ register object *base=vs_base;
register object *sup=base+VM10;
vs_reserve(VM10);
check_arg(2);
vs_top=sup;
{object V5=base[0]->c.c_cdr;
if(endp(V5))invalid_macro_call();
base[2]= (V5->c.c_car);
V5=V5->c.c_cdr;
if(!endp(V5))invalid_macro_call();}
base[3]= list(2,VV[6],base[2]);
base[4]= list(3,VV[44],base[3],Cnil);
base[5]= list(6,VV[39],VV[40],VV[41],VV[42],VV[43],base[4]);
vs_top=(vs_base=base+5)+1;
return;
}
/* function definition for STEPPER */
static L10()
{ register object *base=vs_base;
register object *sup=base+VM11;
vs_reserve(VM11);
bds_check;
if(vs_top-vs_base<1) too_few_arguments();
if(vs_top-vs_base>2) too_many_arguments();
vs_base=vs_base+1;
if(vs_base>=vs_top){vs_top=sup;goto T152;}
vs_top=sup;
goto T153;
T152:;
base[1]= Cnil;
T153:;
base[2]= Cnil;
bds_bind(VV[25],symbol_value(VV[25]));
base[4]= Cnil;
if(!(symbol_value(VV[26])==Ct)){
goto T155;}
base[5]= base[0];
base[6]= Cnil;
base[7]= Cnil;
base[8]= base[1];
vs_top=(vs_base=base+5)+4;
Levalhook();
bds_unwind1;
return;
T155:;
if(!(type_of(symbol_value(VV[26]))==t_fixnum||
type_of(symbol_value(VV[26]))==t_bignum||
type_of(symbol_value(VV[26]))==t_ratio||
type_of(symbol_value(VV[26]))==t_shortfloat||
type_of(symbol_value(VV[26]))==t_longfloat||
type_of(symbol_value(VV[26]))==t_complex)){
goto T162;}
base[5]= one_plus((VV[25]->s.s_dbind));
if(!(number_compare(base[5],symbol_value(VV[26]))>=0)){
goto T166;}
base[5]= base[0];
base[6]= Cnil;
base[7]= Cnil;
base[8]= base[1];
vs_top=(vs_base=base+5)+4;
Levalhook();
bds_unwind1;
return;
T166:;
setq(VV[26],Cnil);
T162:;
if((symbol_value(VV[27]))==Cnil){
goto T173;}
if(!(type_of(base[0])==t_cons)){
goto T177;}
if(!(car(base[0])==symbol_value(VV[27]))){
goto T177;}
bds_bind(VV[27],Cnil);
base[6]= base[0];
base[7]= base[1];
vs_top=(vs_base=base+6)+2;
L10();
bds_unwind1;
bds_unwind1;
return;
T177:;
base[5]= base[0];
base[6]= symbol_function(VV[44]);
base[7]= Cnil;
base[8]= base[1];
vs_top=(vs_base=base+5)+4;
Levalhook();
bds_unwind1;
return;
T173:;
(VV[25]->s.s_dbind)= one_plus((VV[25]->s.s_dbind));
base[5]= number_times((VV[25]->s.s_dbind),VV[19]);
base[4]= (number_compare(base[5],VV[20])<=0?base[5]:VV[20]);
T193:;
base[5]= symbol_value(VV[30]);
base[6]= VV[45];
base[7]= base[4];
base[8]= base[0];
vs_top=(vs_base=base+5)+4;
Lformat();
vs_top=sup;
base[5]= symbol_value(VV[30]);
vs_top=(vs_base=base+5)+1;
Lfinish_output();
vs_top=sup;
base[7]= symbol_value(VV[30]);
vs_top=(vs_base=base+7)+1;
Lread_char();
vs_top=sup;
base[6]= vs_base[0];
T206:;
base[7]= base[6];
base[8]= VV[46];
vs_top=(vs_base=base+7)+2;
Lchar_neq();
vs_top=sup;
if((vs_base[0])==Cnil){
goto T207;}
base[7]= VV[47];
vs_top=(vs_base=base+7)+1;
Lchar_neq();
vs_top=sup;
if((vs_base[0])==Cnil){
goto T207;}
base[5]= base[6];
goto T202;
T207:;
base[7]= symbol_value(VV[30]);
vs_top=(vs_base=base+7)+1;
Lread_char();
vs_top=sup;
base[6]= vs_base[0];
goto T206;
T202:;
{object V6= base[5];
if(!eql(V6,VV[31])
&& !eql(V6,VV[32]))goto T220;
base[6]= base[0];
base[7]= symbol_function(VV[44]);
base[8]= Cnil;
base[9]= base[1];
vs_top=(vs_base=base+6)+4;
Levalhook();
Llist();
vs_top=sup;
base[2]= vs_base[0];
goto T191;
T220:;
if(!eql(V6,VV[48])
&& !eql(V6,VV[49]))goto T228;
vs_base=vs_top;
L7();
vs_top=sup;
base[6]= base[0];
base[7]= symbol_function(VV[44]);
base[8]= Cnil;
base[9]= base[1];
vs_top=(vs_base=base+6)+4;
Levalhook();
Llist();
vs_top=sup;
base[2]= vs_base[0];
goto T191;
T228:;
if(!eql(V6,VV[50])
&& !eql(V6,VV[51]))goto T237;
vs_base=vs_top;
L7();
vs_top=sup;
base[6]= base[0];
base[7]= Cnil;
base[8]= Cnil;
base[9]= base[1];
vs_top=(vs_base=base+6)+4;
Levalhook();
Llist();
vs_top=sup;
base[2]= vs_base[0];
goto T191;
T237:;
if(!eql(V6,VV[52])
&& !eql(V6,VV[53]))goto T246;
vs_base=vs_top;
L7();
vs_top=sup;
base[6]= base[0];
base[7]= VV[54];
base[8]= symbol_value(VV[30]);
base[9]= VV[55];
base[10]= Ct;
base[11]= VV[56];
base[12]= Cnil;
base[13]= VV[57];
base[14]= Cnil;
vs_top=(vs_base=base+6)+9;
Lwrite();
vs_top=sup;
princ_char(10,Cnil);
goto T194;
T246:;
if(!eql(V6,VV[58])
&& !eql(V6,VV[59]))goto T258;
base[7]= Cnil;
base[8]= Cnil;
{object tag;frame_ptr fr;object p;bool active;
frs_push(FRS_PROTECT,Cnil);
if(nlj_active){tag=nlj_tag;fr=nlj_fr;active=TRUE;}
else{
base[11]= symbol_value(VV[30]);
base[10]= simple_symlispcall_no_event(VV[87],base+11,1);
vs_base=vs_top;
L7();
vs_top=sup;
base[7]= base[10];
base[8]= Ct;
base[10]= Ct;
vs_top=(vs_base=base+10)+1;
active=FALSE;}
base[9]=Cnil;
while(vs_base<vs_top)
{base[9]=MMcons(vs_top[-1],base[9]);vs_top--;}
vs_top=sup;
nlj_active=FALSE;frs_pop();
if((base[8])==Cnil){
goto T269;}
base[6]= base[7];
goto T259;
T269:;
base[6]= Cnil;
goto T259;
vs_base=vs_top=base+10;
for(p= base[9];!endp(p);p=MMcdr(p))vs_push(MMcar(p));
if(active)unwind(fr,tag);else{
vs_top=sup;
base[6]= vs_base[0];}}
T259:;
bds_bind(VV[27],base[6]);
base[7]= base[0];
base[8]= symbol_function(VV[44]);
base[9]= Cnil;
base[10]= base[1];
vs_top=(vs_base=base+7)+4;
Levalhook();
Llist();
vs_top=sup;
base[2]= vs_base[0];
bds_unwind1;
goto T191;
T258:;
if(!eql(V6,VV[60])
&& !eql(V6,VV[61]))goto T278;
vs_base=vs_top;
L7();
vs_top=sup;
setq(VV[26],Ct);
base[6]= base[0];
base[7]= Cnil;
base[8]= Cnil;
base[9]= base[1];
vs_top=(vs_base=base+6)+4;
Levalhook();
Llist();
vs_top=sup;
base[2]= vs_base[0];
goto T191;
T278:;
if(!eql(V6,VV[62])
&& !eql(V6,VV[63]))goto T289;
vs_base=vs_top;
L7();
vs_top=sup;
setq(VV[26],(VV[25]->s.s_dbind));
base[6]= base[0];
base[7]= Cnil;
base[8]= Cnil;
base[9]= base[1];
vs_top=(vs_base=base+6)+4;
Levalhook();
Llist();
vs_top=sup;
base[2]= vs_base[0];
goto T191;
T289:;
if(!eql(V6,VV[64])
&& !eql(V6,VV[65]))goto T300;
base[8]= Cnil;
base[9]= Cnil;
{object tag;frame_ptr fr;object p;bool active;
frs_push(FRS_PROTECT,Cnil);
if(nlj_active){tag=nlj_tag;fr=nlj_fr;active=TRUE;}
else{
base[12]= Cnil;
base[13]= Cnil;
{object tag;frame_ptr fr;object p;bool active;
frs_push(FRS_PROTECT,Cnil);
if(nlj_active){tag=nlj_tag;fr=nlj_fr;active=TRUE;}
else{
base[16]= symbol_value(VV[30]);
base[15]= simple_symlispcall_no_event(VV[87],base+16,1);
vs_base=vs_top;
L7();
vs_top=sup;
base[12]= base[15];
base[13]= Ct;
base[15]= Ct;
vs_top=(vs_base=base+15)+1;
active=FALSE;}
base[14]=Cnil;
while(vs_base<vs_top)
{base[14]=MMcons(vs_top[-1],base[14]);vs_top--;}
vs_top=sup;
nlj_active=FALSE;frs_pop();
if((base[13])==Cnil){
goto T316;}
base[11]= base[12];
goto T306;
T316:;
base[11]= Cnil;
goto T306;
vs_base=vs_top=base+15;
for(p= base[14];!endp(p);p=MMcdr(p))vs_push(MMcar(p));
if(active)unwind(fr,tag);else{
vs_top=sup;
base[11]= vs_base[0];}}
T306:;
base[12]= Cnil;
base[13]= Cnil;
base[14]= base[1];
vs_top=(vs_base=base+11)+4;
Levalhook();
Llist();
vs_top=sup;
base[8]= vs_base[0];
base[9]= Ct;
base[11]= Ct;
vs_top=(vs_base=base+11)+1;
active=FALSE;}
base[10]=Cnil;
while(vs_base<vs_top)
{base[10]=MMcons(vs_top[-1],base[10]);vs_top--;}
vs_top=sup;
nlj_active=FALSE;frs_pop();
if((base[9])==Cnil){
goto T324;}
base[7]= base[8];
goto T301;
T324:;
base[7]= Cnil;
goto T301;
vs_base=vs_top=base+11;
for(p= base[10];!endp(p);p=MMcdr(p))vs_push(MMcar(p));
if(active)unwind(fr,tag);else{
vs_top=sup;
base[7]= vs_base[0];}}
T301:;
base[8]= car(base[7]);
T328:;
if(!(endp(base[7]))){
goto T329;}
goto T194;
T329:;
base[9]= base[8];
base[10]= VV[54];
base[11]= symbol_value(VV[30]);
base[12]= VV[56];
base[13]= symbol_value(VV[28]);
base[14]= VV[57];
base[15]= symbol_value(VV[29]);
vs_top=(vs_base=base+9)+7;
Lwrite();
vs_top=sup;
princ_char(10,VV[30]);
base[7]= cdr(base[7]);
base[8]= car(base[7]);
goto T328;
T300:;
if(!eql(V6,VV[66])
&& !eql(V6,VV[67]))goto T347;
base[7]= Cnil;
base[8]= Cnil;
{object tag;frame_ptr fr;object p;bool active;
frs_push(FRS_PROTECT,Cnil);
if(nlj_active){tag=nlj_tag;fr=nlj_fr;active=TRUE;}
else{
base[11]= Cnil;
base[12]= Cnil;
{object tag;frame_ptr fr;object p;bool active;
frs_push(FRS_PROTECT,Cnil);
if(nlj_active){tag=nlj_tag;fr=nlj_fr;active=TRUE;}
else{
base[15]= symbol_value(VV[30]);
base[14]= simple_symlispcall_no_event(VV[87],base+15,1);
vs_base=vs_top;
L7();
vs_top=sup;
base[11]= base[14];
base[12]= Ct;
base[14]= Ct;
vs_top=(vs_base=base+14)+1;
active=FALSE;}
base[13]=Cnil;
while(vs_base<vs_top)
{base[13]=MMcons(vs_top[-1],base[13]);vs_top--;}
vs_top=sup;
nlj_active=FALSE;frs_pop();
if((base[12])==Cnil){
goto T364;}
base[10]= base[11];
goto T354;
T364:;
base[10]= Cnil;
goto T354;
vs_base=vs_top=base+14;
for(p= base[13];!endp(p);p=MMcdr(p))vs_push(MMcar(p));
if(active)unwind(fr,tag);else{
vs_top=sup;
base[10]= vs_base[0];}}
T354:;
base[11]= Cnil;
base[12]= Cnil;
base[13]= base[1];
vs_top=(vs_base=base+10)+4;
Levalhook();
Llist();
vs_top=sup;
base[7]= vs_base[0];
base[8]= Ct;
base[10]= Ct;
vs_top=(vs_base=base+10)+1;
active=FALSE;}
base[9]=Cnil;
while(vs_base<vs_top)
{base[9]=MMcons(vs_top[-1],base[9]);vs_top--;}
vs_top=sup;
nlj_active=FALSE;frs_pop();
if((base[8])==Cnil){
goto T372;}
base[2]= base[7];
goto T349;
T372:;
base[2]= Cnil;
goto T349;
vs_base=vs_top=base+10;
for(p= base[9];!endp(p);p=MMcdr(p))vs_push(MMcar(p));
if(active)unwind(fr,tag);else{
vs_top=sup;
base[2]= vs_base[0];}}
T349:;
goto T191;
T347:;
if(!eql(V6,VV[68])
&& !eql(V6,VV[69]))goto T374;
vs_base=vs_top;
L7();
vs_top=sup;
base[6]= one_plus(symbol_value(VV[71]));
base[9]= simple_symlispcall_no_event(VV[88],base+10,0);
base[7]= one_minus(base[9]);
base[8]= symbol_value(VV[71]);
bds_bind(VV[70],base[6]);
bds_bind(VV[71],base[7]);
bds_bind(VV[72],base[8]);
base[9]= simple_symlispcall_no_event(VV[89],base+9,0);
bds_unwind1;
bds_unwind1;
bds_unwind1;
goto T194;
T374:;
vs_base=vs_top;
L7();
vs_top=sup;
princ_char(10,Cnil);
base[6]= symbol_value(VV[30]);
base[7]= VV[73];
vs_top=(vs_base=base+6)+2;
Lformat();
vs_top=sup;
princ_char(10,Cnil);}
T194:;
goto T193;
T191:;
base[6]= base[0];
vs_top=(vs_base=base+6)+1;
Lconstantp();
vs_top=sup;
if((vs_base[0])!=Cnil){
goto T387;}
if(!(type_of(base[0])==t_cons)){
goto T386;}
if(!(car(base[0])==VV[6])){
goto T386;}
T387:;
base[6]= car(base[2]);
vs_top=(vs_base=base+6)+1;
bds_unwind1;
return;
T386:;
if(!(endp(base[2]))){
goto T396;}
base[6]= symbol_value(VV[30]);
base[7]= VV[74];
base[8]= base[4];
vs_top=(vs_base=base+6)+3;
Lformat();
vs_top=sup;
goto T394;
T396:;
base[6]= base[2];
base[7]= Ct;
T402:;
if(!(endp(base[6]))){
goto T403;}
goto T394;
T403:;
if((base[7])==Cnil){
goto T409;}
base[8]= symbol_value(VV[30]);
base[9]= VV[75];
base[10]= base[4];
base[11]= car(base[6]);
vs_top=(vs_base=base+8)+4;
Lformat();
vs_top=sup;
goto T407;
T409:;
base[8]= symbol_value(VV[30]);
base[9]= VV[76];
base[10]= base[4];
base[11]= car(base[6]);
vs_top=(vs_base=base+8)+4;
Lformat();
vs_top=sup;
T407:;
base[6]= cdr(base[6]);
base[7]= Cnil;
goto T402;
T394:;
(VV[25]->s.s_dbind)= number_minus((VV[25]->s.s_dbind),VV[77]);
base[6]= base[2];
vs_top=(vs_base=base+6)+1;
Lvalues_list();
bds_unwind1;
return;
}